package ast;

import visitor.*;

import java.util.List;

public class SentenciaIf extends AbstractSentencia {
	public SentenciaIf(Expresion comp, List<Sentencia> sentencias,
			List<Sentencia> sentenciasElse, int linea) {
		this.comp = crearExprLogicaDesdeExpresion(comp);
		this.sentencias = sentencias;
		this.sentenciasElse = sentenciasElse;
		this.linea = linea;
	}

	@SuppressWarnings("unchecked")
	public SentenciaIf(Object comp, Object sentencias, Object sentenciasElse,
			Object linea) {
		this.comp = crearExprLogicaDesdeExpresion((Expresion) comp);
		this.sentencias = (List<Sentencia>) sentencias;
		this.sentenciasElse = (List<Sentencia>) sentenciasElse;
		this.linea = (int) linea;
	}

	public Object accept(Visitor v, Object param) {
		return v.visit(this, param);
	}

	public boolean hasElse() {
		if (sentenciasElse != null && !sentenciasElse.isEmpty())
			return true;
		else
			return false;
	}

	public ExpresionLogica comp;
	public List<Sentencia> sentencias;
	public List<Sentencia> sentenciasElse;
}
